var prefix = "/sys/user";

let activeDate = 1

let deptId = {
    id:'#orderTable',
    url : "/selBookOrderByUserId",
    urls: '/updBookOrderByUserId',
    columns : [
    {
        checkbox : true
    },
    {
        field : 'school',
        title : '学校单位名称'
    },
    {
        field : 'orderCreatetime',
        title : '时间'
    },
    {
        field: 'province',
        title: '省份',
    },
    {
        field: 'city',
        title: '市',
    },
    {
        field : 'mobile',
        title : '手机号码'
    },
    {
        field : 'bookName',
        title : '书籍种类',
    },
    {
        field : 'year',
        title : '年份',
    },
    {
        field : 'orderNumber',
        title : '基础数量',
    },
    {
        field : 'discount',
        title : '基础折扣',
    },
    {
        field : 'basicsPayment',
        title : '折后价/基',
    },
    {
        field : 'orderPrimary',
        title : '初级数量'
    },
    {
        field : 'discountPrimary',
        title : '初级折扣'
    },
    {
        field : 'primaryDiscountPayment',
        title : '折后价/初'
    },
    {
        field : 'orderIntermediate',
        title : '中级数量'
    },
    {
        field : 'discountIntermediate',
        title : '中级折扣'
    },
    {
        field : 'intermediatePayment',
        title : '折后价/中'
    },
    {
        field : 'orderSenior',
        title : '高级数量'
    },
    {
        field : 'discountSenior',
        title : '高级折扣'
    },
    {
        field : 'seniorPayment',
        title : '折后价/高'
    },
    {
        field : 'primaryMoney',
        title : '原价'
    },
    {
        field : 'orderMoney',
        title : '折后价/总',
    },
    {
        field : 'actualMoney',
        title : '实际收款'
    }
],
}

let deptIds = {
    id:'#testFee',
    url : "/selExaminationCostByUserId",
    urls: '/updExaminationCostByUserId',
    columns : [
        {
            checkbox : true
        },
        {
            field : 'orgName',
            width:'110px',
            title : '学校名称',
        },
        {
            field : 'year',
            title : '年份'
        },
        {
            field : 'profile',
            title : '证书及等级',
            formatter: function (value, row, index) {
                var valueList = value.split(";;");
                var html="";
                for(var v in valueList){
                    html+='<div>'+valueList[v]+'</div>';
                }
                return html;
            },
            hidden:true
        },
        {
            field : 'province',
            title : '省份'
        },
        {
            field: 'city',
            title: '市',
        },
        {
            field : 'city',
            title : '城市'
        },
        {
            field : 'planStuNum',
            title : '计划人数'
        },
        {
            field : 'stuNum',
            width:'85px',
            title : '考生人数',
            formatter: function(value,row,index){
                var str="<p>计划："+row.planStuNum+"</p>";
                if(value==null||value==''){
                    str+="<p>实际：-</p>";
                }else{
                    if(Number(value)<Number(row.planStuNum))
                        str+="<p>实际：<span style='color:cornflowerblue'>"+value+"</span></p>";
                    else if(Number(value)>Number(row.planStuNum)){
                        str+="<p>实际：<span style='color:green'>"+value+"</span></p>";
                    }else{
                        str+="实际："+value;
                    }
                }

                return str
            }
        },
        {
            field : 'examinationDate',
            title : '考评日期',
            formatter: function(value,row,index){
                if(value==null)return '';
                var date = new Date(value);
                return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
            }
        },
        {
            field : 'priceStandard',
            width:'100px',
            title : '费用标准',
            formatter: function (value, row, index) {
                if(value<=0)
                    return "-";
                var str="<p>收费："+value+"</p>";
                str+="<p>返费："+row.returnStandard+"</p>";
                return str
            }
        },
        {
            field : 'receivables',
            title : '应收款'
        },
        {
            field : 'received',
            title : '实收款',
            formatter: function (value, row, index) {
                if(Number(value)>Number(row.receivables)){
                    return '<span>'+value+'</span>'
                }else{
                    return value;
                }
            }
        },
        {
            field : 'receivedDate',
            title : '收款日期'
        },
        {
            field : 'advance',
            title : '预收款'
        },
        {
            field : 'advanceDate',
            title : '预收日期',
            formatter: function (value, row, index) {
                if(value==null)return '';
                var date = new Date(value);
                return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
            }
        },
        {
            field : 'returnStandard',
            title : '返款标准'
        },
        {
            field : 'returnMoney',
            width:'110px',
            title : '应返款',
            formatter: function (value, row, index) {
                if(value<=0)
                    return "暂无返款金额"
                var str="<p>总额："+value+"</p>";
                str+="<p>学校："+row.returnMoneySchool+"</p>";
                str+="<p>私人："+row.returnMoneyPersonal+"</p>";
                return str
            }
        },{
            field : 'returnSchool',
            title : '返款学校名称'
        },
        {
            field : 'returnMoneySchool',
            title : '应返款（学校）'
        },
        {
            field : 'returnMoneyPersonal',
            title : '应返款（个人）'
        },

        {
            field : 'laborWage',
            title : '劳务费'
        },
        {
            field : 'commission',
            title : '提成'
        },
        {
            field : 'regionUserName',
            title : '负责人'
        },
        {
            field : 'state',
            title : '状态',
            formatter: function (value, row, index) { //（0未计算，9已删除）
                if (value == 0) {
                    return '<span class="label label-default">未开始</span>';
                } else if (value == 1) {
                    return '<span class="label label-inverse">已考试</span>';
                }else if (value == 2) {
                    return '<span class="label label-primary">已收款</span>';
                } else if (value == 3) {
                    return '<span class="label label-primary">个人已返款</span>';
                } else if (value == 4) {
                    return '<span class="label label-primary">学校已返款</span>';
                } else if (value == 5) {
                    return '<span class="label label-success">已完成</span>';
                } else if (value == 10) {
                    return '<span class="label label-primary">已抵扣</span>';
                } else if (value == 11) {
                    return '<span class="label label-primary">已抵扣并收款</span>';
                }
            }
        },
    ],
}
let dataList = {}
$(function() {
    load(deptId)
    load(deptIds)
    activeCreate()
    selectChange()

    $('.bootstrap-table').eq(1).hide();
});

$('body').on('click','.shotTimetag',function (){
    activeDate = $(this).data("id")
    activeCreate()
    $(".shotTimetag").removeClass('active');
    $(this).addClass("active");

})



function selectChange() {
    for (let i = 2020; i < 2025; i++) {
        let a =`<option value="${i}">${i}</option>`
        $('#year').append(a)
    }
    $('#year').val("2024")
}

function activeCreate() {
    if(activeDate === 1) {
        $('#orderTable').show()
        $('#testFee').hide()
        $('.bootstrap-table').eq(1).hide();
        $('.bootstrap-table').eq(0).show();
        $(".fixed-table-toolbar").eq(0).show()
        $(".fixed-table-toolbar").eq(1).hide()
        dataList = deptId
    }else {
        $('#testFee').show()
        $('#orderTable').hide()
        $('.bootstrap-table').eq(1).show();
        $('.bootstrap-table').eq(0).hide();
        $(".fixed-table-toolbar").eq(1).hide()
        $(".fixed-table-toolbar").eq(0).hide()
        dataList = deptIds
    }

}




function load(date) {
    $(`${date.id}`)
        .bootstrapTable(
            {
                method : 'get', // 服务器数据的请求方式 get or post
                url : prefix + date.url, // 服务器数据的加载地址
                height:650,
                iconSize : 'outline',
                toolbar : '#exampleToolbar',
                striped : true, // 设置为true会有隔行变色效果
                dataType : "json", // 服务器返回的数据类型
                pagination : false, // 设置为true会在底部显示分页条
                singleSelect : false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize : 10, // 如果设置了分页，每页数据条数
                pageNumber : 1, // 如果设置了分布，首页页码
                // search : true, // 是否显示搜索框
                showColumns : false, // 是否显示内容下拉框（选择显示的列）
                sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
                queryParamsType : "",
                // //设置为limit则会发送符合RESTFull格式的参数
                queryParams : function(params) {
                    return {
                        // 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                        userId:$('#id').val(),
                        school:$('#school').val(),
                        year:$('#year').val(),
                        province:$('#province').val(),
                        city:$('#city').val()
                    };
                },
                responseHandler : function(res){
                    return {
                        "rows": res.data   //数据
                    };
                },
                columns : date.columns,
                //点击全选框时触发的操作
                onCheckAll:function(rows){
                    console.log(rows);
                },
                //点击每一个单选框时触发的操作
                onCheck:function(row){
                    console.log(row);
                },
            });
}
function reLoad() {
    $(`${dataList.id}`).bootstrapTable('refresh');
}

/**
 * 迁移弹框
 * */
function migration() {
    let doms = `
       <div style="width: 350px;margin: 30px 0 0 20px">
             <input name="orgName" lay-verify="required" id="migrationFrom" class="form-control" placeholder="请选择角色"/>
       </div>
    `


    layer.open({
        type: 1,
        title : '迁移',
        maxmin : true,
        content: doms,
        btn: ['确定', '取消'],
        area: ['400px', '200px'], // 宽高
        yes: function(index, layero){
            let orderDate = $('#orderTable').bootstrapTable('getSelections')
            let testFeeDate = $('#testFee').bootstrapTable('getSelections')
            let tableDate = []
            let data = []
            activeDate === 1 ? tableDate = orderDate : tableDate = testFeeDate
            let names = $('#migrationFrom').val()

            if(tableDate.length !== 0) {
                if(names !== '') {
                    for (let i = 0; i < tableDate.length; i++) {
                        data.push(tableDate[i].id)
                    }
                    migrationUpdate({bookOrderIds:data,userId:names},index)
                    return
                }
                layer.msg('请选择角色')
                return;
            }
            layer.msg('请选择订单')
        },
        btn2: function(index, layero){
            // 点击取消按钮后的回调函数
            layer.close(index); // 关闭弹框
            // 这里可以写点击取消按钮后的操作
        }
    });
    selCertificateList()
}

function selCertificateList() {
    $('#migrationFrom').selectPage({
        showField: 'username',
        keyField: 'id',
        searchField: 'username',
        data: prefix + '/list',
        //向服务端提交的参数中，增加已选中的
        //设置返回-1，意为通知服务端返回空列表，初始化时使用
        params: function () {
            var pv = $('#migrationFrom').val();
            return pv;
        },
        eAjaxSuccess: function (d) {
            var result;
            if (d) result = d.data;
            else result = undefined;
            return result;
            add.js
        },
    });
}

function migrationUpdate(data,index) {
    $.ajax({
        type : 'POST',
        data: JSON.stringify(data), // 将对象转换为 JSON 字符串
        contentType: 'application/json', // 指定内容类型为 JSON
        url : prefix + dataList.urls,
        success : function(r) {
            if (r.code == 0) {
                layer.msg(r.msg);
                reLoad();
                layer.close(index); // 关闭弹框
            } else {
                layer.msg(r.msg);
                layer.close(index); // 关闭弹框
            }
        }
    });
}